#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define fo(i,n) for(int i=0;i<n;i++)
#define vi vector<int>
#define vll vector<ll>
#define pii pair<int,int>
#define pll pair<ll,ll>
#define vpii vector<pii>
#define vpll vector<pll>
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n,k; cin>>n>>k;
ll x[n];
for(int i=0;i<n;i++){
cin>>x[i];
}
ll sum=0;
for(int i=0;i<k;i++){sum+=x[i];}
vector<ll>arr(n-k+1);
arr[0]=sum;
for(int i=k;i<n;i++){
sum+=x[i]-x[i-k];
arr[i-k+1]=sum;
}
ll res=arr[0]+arr[k];
vector<pair<ll,ll>>mx(n-k+1);
ll temp=arr[0];
ll ind=0;
for(int i=0;i<=n-k;i++){
if(arr[i]>temp){
temp=arr[i];
ind=i;
}
mx[i].first=temp;
mx[i].second=ind;
}
ll index1=0,index2=k;
for(int i=n-k;i-k>=0;i--){
ll temp1=arr[i]+mx[i-k].first;
if(temp1>res){
res=temp1;
index1=mx[i-k].second;
index2=i;
}
else if(temp1==res){
if(mx[i-k].second<index1){
index1=mx[i-k].second;
index2=i;
}
else if(mx[i-k].second==index1 && i<index2){
index1=mx[i-k].second;
index2=i;
}
}
}
cout<<index1+1<<' '<<index2+1<<endl;
}
349B - Color the Fence | 144A - Arrival of the General |
1106A - Lunar New Year and Cross Counting | 58A - Chat room |
230A - Dragons | 200B - Drinks |
13A - Numbers | 129A - Cookies |
1367B - Even Array | 136A - Presents |
1450A - Avoid Trygub | 327A - Flipping Game |
411A - Password Check | 1520C - Not Adjacent Matrix |
1538B - Friends and Candies | 580A - Kefa and First Steps |
1038B - Non-Coprime Partition | 43A - Football |
50A - Domino piling | 479A - Expression |
1480A - Yet Another String Game | 1216C - White Sheet |
1648A - Weird Sum | 427A - Police Recruits |
535A - Tavas and Nafas | 581A - Vasya the Hipster |
1537B - Bad Boy | 1406B - Maximum Product |
507B - Amr and Pins | 379A - New Year Candles |